package com.csdj.dao;

import com.csdj.entity.Employee;

import java.util.List;

/**
 * packageName com.csdj.dao
 *
 * @author winver
 * @version 1.0
 * @InterfaceName EmployeeDao
 * @date 2024/11/27
 * @description TODO
 */
public interface EmployeeDao {
    /**
     * 根据员工名查询员工信息
     * @param name 员工姓名
     * @return  员工对象
     */
    Employee  getEmployeeByName(String name);
    /**
     * 查询此姓名关联的部门及岗位信息
     * @param name 姓名
     * @return 员工信息及关联对象
     */
    Employee  getEmployeeInfoByName(String name);

    /**
     * 分页查询数据
     * @param startIndex 起始下标
     * @param pageSize  页大小
     * @param name 姓名【模糊】
     * @param depteId 部门编号 -1 查询所有
     * @return 员工集合
     */
    List<Employee> getEmpsByPage(int startIndex,int pageSize,String name,int depteId);

    /**
     * 根据条件查询总数量
     * @param name 姓名
     * @param depteId 部门编号
     * @return 总条数
     */
    int getEmpsPageCount(String name,int depteId);

    int addEmp(Employee employee);

    int getEmail(String email);

    List<Employee> getEmployeeInfoList(String name);
}
